class Master(object):
    #初始化
    def __init__(self):
        self.kongfu = '[古法煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')

class School(object):
    #初始化
    def __init__(self):
        self.kongfu = '[hik煎饼果子配方]'

    def make_cake(self):
        print(f'运用{self.kongfu}制作煎饼果子')

# 2 定义徒弟类，继承师傅类和学校类， 添加和父类同名的属性和方法
class Prentice(School,Master):
    def __init__(self):
        self.kongfu = '[独创煎饼果子配方]'

    def make_cake(self):
        # 如果是先调用了父类的属性和方法，父类属性会覆盖子类属性，故在调用属性前，先调用自己子类的初始化
        self.__init__()
        print(f'运用{self.kongfu}制作煎饼果子')

    def make_master_cake(self):
        # 父类类名.函数()
        # 再次调用初始化的原因：这里想要调用父类的同名方法和属性，属性在init初始化位置，所以需要再次调用 init
        Master.__init__(self)
        Master.make_cake(self)

    def make_school_cake(self):
        # 父类类名.函数()
        # 再次调用初始化的原因：这里想要调用父类的同名方法和属性，属性在init初始化位置，所以需要再次调用 init
        School.__init__(self)
        School.make_cake(self)

daqiu = Prentice()
print('------------------调用大邱的cake---------------------')
daqiu.make_cake()

print('------------------调用master的cake---------------------')
daqiu.make_master_cake()
print('------------------调用school的cake---------------------')
daqiu.make_school_cake()

print('------------------再次调用大邱的cake---------------------')
daqiu.make_cake()



